package com.kfm.common.domain.entity;

import lombok.Data;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

@Data
public class Menu {
    /**
    * 编号
    */
    private Integer menuId;

    /**
    * 名称
    */
    private String menuName;

    /**
    * URL
    */
    private String menuUrl;

    /**
    * 权限标识
    */
    private String permissionIdentifier;

    /**
    * 类型：0（主菜单）、1（子菜单）、2（其他）
    */
    private Byte menuType;

    /**
    * 父菜单ID
    */
    private Integer parentId;

    /**
    * 排序号
    */
    private Integer displayOrder;

    /**
    * 图标
    */
    private String icon;

    /**
    * 状态：0（禁用）或1（启用）
    */
    private Byte menuStatus;

    /**
    * 创建时间
    */
    private Date createdAt;

    /**
    * 修改时间
    */
    private Date modifiedAt;

    private boolean hasChildren;

    public boolean isHasChildren() {
        return !children.isEmpty();
    }

    /**
     * 子菜单
     */
    private List<Menu> children = new ArrayList<>();
}